const MyPromise = require('./MyPromise3');
// new MyPromise((resolve, reject) => {
//     setTimeout(() => {
//         // resolve('成功1');
//         reject('失败');
//         resolve('成功2');
//     },3000);
// }).then(function (value) {
//     console.log(value);
// }, function (e) {
//     console.log(e);
// });
// promise executor 同步测试
// let promise1 = new MyPromise((resolve, reject) => {
//         reject('失败');
//         resolve('成功');
// })
// promise1.then((val) => {
//     console.log(111, val)
// }, (e) => {
//     console.log(e);
// });
// promise1.then((val) => {
//     console.log(222, val)
// }, (e) => {
//     console.log(e);
// });
// promise1.then((val) => {
//     console.log(333, val)
// }, (e) => {
//     console.log(e);
// });

// promise executor 异步测试
// let p2 = new MyPromise((resolve, reject) => {
//     setTimeout(()=>{
//         // reject('失败');
//         resolve('成功');
//     },2000)
// })
// p2.then((val) => {
//     console.log(111, val)
// }, (e) => {
//     console.log(e);
// });
// p2.then((val) => {
//     console.log(222, val)
// }, (e) => {
//     console.log(e);
// });
// p2.then((val) => {
//     console.log(333, val)
// }, (e) => {
//     console.log(e);
// });


// promise 链式调用测试
// let p3 = new MyPromise((resolve, reject) => {
//     setTimeout(() => {
//         // reject('失败');
//         resolve('成功');
//     }, 2000)
// })
// p3.then((val) => {
//     console.log(111, val);
//     return new MyPromise((resolve, reject) => {
//         resolve(2);
//     })
// }, (e) => {
//     console.log(e);
// }).then((val) => {
//     console.log(222, val);
//     return 3;
// }, (e) => {
//     console.log(e);
// }).then((val) => {
//     console.log(333, val);
//     return new MyPromise((resolve, reject) => {
//         reject(4);
//     })
// }, (e) => {
//     console.log(e);
// }).then((val) => {
//     console.log(444, val);
// }, (e) => {
//     console.log(e);
// })